#ifndef ATTRIBUTEMODEL_H
#define ATTRIBUTEMODEL_H

#include <QAbstractTableModel>
#include <QList>
#include "aed_archtype.h"

class AttributeModel : public QAbstractTableModel
{
    Q_OBJECT
    QList<AED_Attribute> *m_attributes;
public:
    explicit AttributeModel(AED_Archtype *arch,QObject *parent = 0);

    int rowCount(const QModelIndex & parent = QModelIndex()) const;
    int columnCount(const QModelIndex & parent = QModelIndex()) const;
    QVariant data ( const QModelIndex & index, int role = Qt::DisplayRole ) const;
    QVariant headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const;
    bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole);
    Qt::ItemFlags flags(const QModelIndex &index) const;
signals:

public slots:
    void AddAttribute(const QString &type, const QString &name);
    void RemoveAttribute(int index);
};

#endif // ATTRIBUTEMODEL_H
